<?php
class IdeiasController extends Controller {

  private $dbIdeias;
  private $dbReply;
  private $dbCategoria;

  public function  __construct() {
    parent::__construct();
    $this->dbIdeias = new IdeiasModel();
    $this->dbReply = new ReplyModel();
    $this->dbCategoria = new CategoriaModel();
  }

  public function postar($dados = null) {
    if(logado()) {
      $dados['categorias'] = $this->dbCategoria->query("CALL sp_selecionar_categorias_full();");
      $this->view('postarIdeiaView', $dados);
    }else {
      $dados['msg']['type'] = 'erro';
      $dados['msg']['mensagem'] = "Você precisa estar logado para acessar esse conteudo";
      $this->loadHome($dados);
    }
  }

  public function salvarPostagem() {
    if(logado()) {
      $dados['titulo'] = $_POST['titulo'];
      $dados['descricao'] = $_POST['ideia'];
      $dados['categoria'] = $_POST['categoria'];
      if($this->validar($dados)) {
        $this->dbIdeias->query("CALL sp_inserir_ideias({$_SESSION['id']}, {$dados['categoria']}, '{$dados['titulo']}', '{".nl2br(trim($dados['descricao']))."');");
        $dado['msg']['type'] = 'sucesso';
        $dado['msg']['mensagem'] = "Sua mensagem foi enviada com sucesso.";
        $this->loadHome($dado);
      }else {
        $dados['msg']['type'] = 'erro';
        $dados['msg']['mensagem'] = "Preencha todos os campos";
        $this->postar($dados);
      }
    }else {
      $dados['msg']['type'] = 'erro';
      $dados['msg']['mensagem'] = "Você precisa estar logado para acessar esse conteudo";
      $this->loadHome($dados);
    }
  }


  public function verPostagem($id = null) {
      if($id == null) {
        $id = $this->getParams('id');
      }
      $resultado = $this->dbIdeias->query("CALL sp_selecionar_ideia({$id});");
      $resultado = $this->toArray($resultado);
      
      $dados['idIdeia'] = $resultado['pk_int_idIdeias'];
      $dados['titulo'] = $resultado['char_tituloIdeia'];
      $dados['descricao'] = $resultado['char_descricaoIdeia'];
      $dados['categoria'] = $resultado['fk_int_idCategoria'];
      $dados['data'] = $resultado['date_dataIdeia'];
      $dados['autor'] = $this->toArray($this->dbIdeias->query("Call sp_selecionar_usuario({$resultado['fk_int_idAutor']});"));
      $dados['autor'] = $dados['autor']['char_nomeUsuario'];
      if(isset($_SESSION['id']) && $resultado['fk_int_idAutor'] == $_SESSION['id']) {
        $dados['proprietario'] = true;
      }else {
        $dados['proprietario'] = false;
      }
      $replys = $this->dbReply->query("Call sp_selecionar_reply_ideia({$id})");
      $dados['replys'] = $replys;
      $this->view('exibirIdeiaView', $dados);
  }
  public function salvarReply() {
    $reply = $_POST['reply'];
    $id_ideia = $_POST['id_ideia'];
    $id_usuario = $_SESSION['id'];
    $this->dbReply->query("CALL sp_inserir_reply($id_usuario, $id_ideia, '$reply');");
    $dado['msg']['type'] = 'sucesso';
    $dado['msg']['mensagem'] = "Sua seu Reply foi cadastrado.";
    $this->redirect("ideias/verPostagem/id/$id_ideia");
  }

  public function aprovar() {
    $id_reply = $this->getParams('reply');
    $id_ideia = $this->getParams('ideia');
    $this->dbReply->query("CALL sp_aprovar_reply({$id_reply});");
    $this->redirect("ideias/verPostagem/id/$id_ideia");
  }
  
}


?>